// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g 2012-10-24 19:32:23

  package practica6;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AnalexGDL extends Lexer {
    public static final int EOF=-1;
    public static final int ARROW=4;
    public static final int ARROWSTYLE=5;
    public static final int BLANCO=6;
    public static final int BORDER=7;
    public static final int BORDERSTYLE=8;
    public static final int CADENA=9;
    public static final int COMENTARIO=10;
    public static final int COMILLAS=11;
    public static final int DIGITO=12;
    public static final int DOS_PUNTOS=13;
    public static final int EDGE=14;
    public static final int GRAPH=15;
    public static final int IDENT=16;
    public static final int LABEL=17;
    public static final int LETRA=18;
    public static final int LLAVE_A=19;
    public static final int LLAVE_C=20;
    public static final int NODE=21;
    public static final int NUMERO=22;
    public static final int SOURCE=23;
    public static final int TARGET=24;
    public static final int TITLE=25;

         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public AnalexGDL() {} 
    public AnalexGDL(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public AnalexGDL(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g"; }

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:25:7: ( ( ' ' | '\\t' | '\\r\\n' ) )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:25:9: ( ' ' | '\\t' | '\\r\\n' )
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:25:9: ( ' ' | '\\t' | '\\r\\n' )
            int alt1=3;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt1=1;
                }
                break;
            case '\t':
                {
                alt1=2;
                }
                break;
            case '\r':
                {
                alt1=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:25:10: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:25:14: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:25:19: '\\r\\n'
                    {
                    match("\r\n"); 



                    }
                    break;

            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:27:16: ( '0' .. '9' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "LETRA"
    public final void mLETRA() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:28:15: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) | '_' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA"

    // $ANTLR start "GRAPH"
    public final void mGRAPH() throws RecognitionException {
        try {
            int _type = GRAPH;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:30:6: ( 'graph' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:30:8: 'graph'
            {
            match("graph"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "GRAPH"

    // $ANTLR start "NODE"
    public final void mNODE() throws RecognitionException {
        try {
            int _type = NODE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:31:5: ( 'node' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:31:7: 'node'
            {
            match("node"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NODE"

    // $ANTLR start "EDGE"
    public final void mEDGE() throws RecognitionException {
        try {
            int _type = EDGE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:32:5: ( 'edge' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:32:7: 'edge'
            {
            match("edge"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EDGE"

    // $ANTLR start "LABEL"
    public final void mLABEL() throws RecognitionException {
        try {
            int _type = LABEL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:33:6: ( 'label' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:33:8: 'label'
            {
            match("label"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LABEL"

    // $ANTLR start "TITLE"
    public final void mTITLE() throws RecognitionException {
        try {
            int _type = TITLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:34:6: ( 'title' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:34:8: 'title'
            {
            match("title"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TITLE"

    // $ANTLR start "SOURCE"
    public final void mSOURCE() throws RecognitionException {
        try {
            int _type = SOURCE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:35:7: ( 'source' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:35:9: 'source'
            {
            match("source"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SOURCE"

    // $ANTLR start "TARGET"
    public final void mTARGET() throws RecognitionException {
        try {
            int _type = TARGET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:36:7: ( 'target' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:36:9: 'target'
            {
            match("target"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "TARGET"

    // $ANTLR start "ARROWSTYLE"
    public final void mARROWSTYLE() throws RecognitionException {
        try {
            int _type = ARROWSTYLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:37:11: ( 'arrowstyle' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:37:13: 'arrowstyle'
            {
            match("arrowstyle"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ARROWSTYLE"

    // $ANTLR start "BORDERSTYLE"
    public final void mBORDERSTYLE() throws RecognitionException {
        try {
            int _type = BORDERSTYLE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:38:12: ( 'borderstyle' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:38:14: 'borderstyle'
            {
            match("borderstyle"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BORDERSTYLE"

    // $ANTLR start "BORDER"
    public final void mBORDER() throws RecognitionException {
        try {
            int _type = BORDER;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:39:7: ( 'dotted' | 'dashed' | 'solid' )
            int alt2=3;
            int LA2_0 = input.LA(1);

            if ( (LA2_0=='d') ) {
                int LA2_1 = input.LA(2);

                if ( (LA2_1=='o') ) {
                    alt2=1;
                }
                else if ( (LA2_1=='a') ) {
                    alt2=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 2, 1, input);

                    throw nvae;

                }
            }
            else if ( (LA2_0=='s') ) {
                alt2=3;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;

            }
            switch (alt2) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:39:9: 'dotted'
                    {
                    match("dotted"); 



                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:39:18: 'dashed'
                    {
                    match("dashed"); 



                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:39:27: 'solid'
                    {
                    match("solid"); 



                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BORDER"

    // $ANTLR start "ARROW"
    public final void mARROW() throws RecognitionException {
        try {
            int _type = ARROW;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:40:6: ( 'solid' | 'line' | 'none' )
            int alt3=3;
            switch ( input.LA(1) ) {
            case 's':
                {
                alt3=1;
                }
                break;
            case 'l':
                {
                alt3=2;
                }
                break;
            case 'n':
                {
                alt3=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;

            }

            switch (alt3) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:40:8: 'solid'
                    {
                    match("solid"); 



                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:40:16: 'line'
                    {
                    match("line"); 



                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:40:23: 'none'
                    {
                    match("none"); 



                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ARROW"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:42:7: ( ( DIGITO )+ ( '.' ( DIGITO )+ )? )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:42:9: ( DIGITO )+ ( '.' ( DIGITO )+ )?
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:42:9: ( DIGITO )+
            int cnt4=0;
            loop4:
            do {
                int alt4=2;
                int LA4_0 = input.LA(1);

                if ( ((LA4_0 >= '0' && LA4_0 <= '9')) ) {
                    alt4=1;
                }


                switch (alt4) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt4 >= 1 ) break loop4;
                        EarlyExitException eee =
                            new EarlyExitException(4, input);
                        throw eee;
                }
                cnt4++;
            } while (true);


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:42:18: ( '.' ( DIGITO )+ )?
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( (LA6_0=='.') ) {
                alt6=1;
            }
            switch (alt6) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:42:19: '.' ( DIGITO )+
                    {
                    match('.'); 

                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:42:22: ( DIGITO )+
                    int cnt5=0;
                    loop5:
                    do {
                        int alt5=2;
                        int LA5_0 = input.LA(1);

                        if ( ((LA5_0 >= '0' && LA5_0 <= '9')) ) {
                            alt5=1;
                        }


                        switch (alt5) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt5 >= 1 ) break loop5;
                                EarlyExitException eee =
                                    new EarlyExitException(5, input);
                                throw eee;
                        }
                        cnt5++;
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "IDENT"
    public final void mIDENT() throws RecognitionException {
        try {
            int _type = IDENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:43:6: ( LETRA ( LETRA | DIGITO )* )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:43:8: LETRA ( LETRA | DIGITO )*
            {
            mLETRA(); 


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:43:13: ( LETRA | DIGITO )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( ((LA7_0 >= '0' && LA7_0 <= '9')||(LA7_0 >= 'A' && LA7_0 <= 'Z')||LA7_0=='_'||(LA7_0 >= 'a' && LA7_0 <= 'z')) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "LLAVE_A"
    public final void mLLAVE_A() throws RecognitionException {
        try {
            int _type = LLAVE_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:45:8: ( '{' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:45:10: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_A"

    // $ANTLR start "LLAVE_C"
    public final void mLLAVE_C() throws RecognitionException {
        try {
            int _type = LLAVE_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:46:8: ( '}' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:46:10: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_C"

    // $ANTLR start "DOS_PUNTOS"
    public final void mDOS_PUNTOS() throws RecognitionException {
        try {
            int _type = DOS_PUNTOS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:47:11: ( ':' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:47:13: ':'
            {
            match(':'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DOS_PUNTOS"

    // $ANTLR start "COMILLAS"
    public final void mCOMILLAS() throws RecognitionException {
        try {
            int _type = COMILLAS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:48:9: ( '\"' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:48:11: '\"'
            {
            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMILLAS"

    // $ANTLR start "CADENA"
    public final void mCADENA() throws RecognitionException {
        try {
            int _type = CADENA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:50:7: ( COMILLAS ( options {greedy=false; } : . )* COMILLAS )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:50:9: COMILLAS ( options {greedy=false; } : . )* COMILLAS
            {
            mCOMILLAS(); 


            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:50:18: ( options {greedy=false; } : . )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0=='\"') ) {
                    alt8=2;
                }
                else if ( ((LA8_0 >= '\u0000' && LA8_0 <= '!')||(LA8_0 >= '#' && LA8_0 <= '\uFFFF')) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:50:43: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);


            mCOMILLAS(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CADENA"

    // $ANTLR start "COMENTARIO"
    public final void mCOMENTARIO() throws RecognitionException {
        try {
            int _type = COMENTARIO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:51:11: ( ( '//' ( options {greedy=false; } : . )* '\\r\\n' ) )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:51:13: ( '//' ( options {greedy=false; } : . )* '\\r\\n' )
            {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:51:13: ( '//' ( options {greedy=false; } : . )* '\\r\\n' )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:51:14: '//' ( options {greedy=false; } : . )* '\\r\\n'
            {
            match("//"); 



            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:51:19: ( options {greedy=false; } : . )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0=='\r') ) {
                    int LA9_1 = input.LA(2);

                    if ( (LA9_1=='\n') ) {
                        alt9=2;
                    }
                    else if ( ((LA9_1 >= '\u0000' && LA9_1 <= '\t')||(LA9_1 >= '\u000B' && LA9_1 <= '\uFFFF')) ) {
                        alt9=1;
                    }


                }
                else if ( ((LA9_0 >= '\u0000' && LA9_0 <= '\f')||(LA9_0 >= '\u000E' && LA9_0 <= '\uFFFF')) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:51:44: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);


            match("\r\n"); 



            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:8: ( BLANCO | GRAPH | NODE | EDGE | LABEL | TITLE | SOURCE | TARGET | ARROWSTYLE | BORDERSTYLE | BORDER | ARROW | NUMERO | IDENT | LLAVE_A | LLAVE_C | DOS_PUNTOS | COMILLAS | CADENA | COMENTARIO )
        int alt10=20;
        alt10 = dfa10.predict(input);
        switch (alt10) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:10: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 2 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:17: GRAPH
                {
                mGRAPH(); 


                }
                break;
            case 3 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:23: NODE
                {
                mNODE(); 


                }
                break;
            case 4 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:28: EDGE
                {
                mEDGE(); 


                }
                break;
            case 5 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:33: LABEL
                {
                mLABEL(); 


                }
                break;
            case 6 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:39: TITLE
                {
                mTITLE(); 


                }
                break;
            case 7 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:45: SOURCE
                {
                mSOURCE(); 


                }
                break;
            case 8 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:52: TARGET
                {
                mTARGET(); 


                }
                break;
            case 9 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:59: ARROWSTYLE
                {
                mARROWSTYLE(); 


                }
                break;
            case 10 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:70: BORDERSTYLE
                {
                mBORDERSTYLE(); 


                }
                break;
            case 11 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:82: BORDER
                {
                mBORDER(); 


                }
                break;
            case 12 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:89: ARROW
                {
                mARROW(); 


                }
                break;
            case 13 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:95: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 14 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:102: IDENT
                {
                mIDENT(); 


                }
                break;
            case 15 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:108: LLAVE_A
                {
                mLLAVE_A(); 


                }
                break;
            case 16 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:116: LLAVE_C
                {
                mLLAVE_C(); 


                }
                break;
            case 17 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:124: DOS_PUNTOS
                {
                mDOS_PUNTOS(); 


                }
                break;
            case 18 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:135: COMILLAS
                {
                mCOMILLAS(); 


                }
                break;
            case 19 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:144: CADENA
                {
                mCADENA(); 


                }
                break;
            case 20 :
                // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnalexGDL.g:1:151: COMENTARIO
                {
                mCOMENTARIO(); 


                }
                break;

        }

    }


    protected DFA10 dfa10 = new DFA10(this);
    static final String DFA10_eotS =
        "\2\uffff\11\14\5\uffff\1\36\1\uffff\14\14\2\uffff\17\14\1\75\1\76"+
        "\1\77\1\14\1\76\10\14\1\111\3\uffff\1\112\1\113\2\14\1\116\4\14"+
        "\3\uffff\1\123\1\124\1\uffff\2\14\2\116\2\uffff\6\14\1\135\1\14"+
        "\1\uffff\1\137\1\uffff";
    static final String DFA10_eofS =
        "\140\uffff";
    static final String DFA10_minS =
        "\1\11\1\uffff\1\162\1\157\1\144\2\141\1\157\1\162\1\157\1\141\5"+
        "\uffff\1\0\1\uffff\1\141\1\144\1\147\1\142\1\156\1\164\1\162\1\154"+
        "\2\162\1\164\1\163\2\uffff\1\160\5\145\1\154\1\147\1\162\1\151\1"+
        "\157\1\144\1\164\2\150\3\60\1\154\1\60\2\145\1\143\1\144\1\167\3"+
        "\145\1\60\3\uffff\2\60\1\164\1\145\1\60\1\163\1\162\2\144\3\uffff"+
        "\2\60\1\uffff\1\164\1\163\2\60\2\uffff\1\171\1\164\1\154\1\171\1"+
        "\145\1\154\1\60\1\145\1\uffff\1\60\1\uffff";
    static final String DFA10_maxS =
        "\1\175\1\uffff\1\162\1\157\1\144\2\151\1\157\1\162\2\157\5\uffff"+
        "\1\uffff\1\uffff\1\141\1\156\1\147\1\142\1\156\1\164\1\162\1\165"+
        "\2\162\1\164\1\163\2\uffff\1\160\5\145\1\154\1\147\1\162\1\151\1"+
        "\157\1\144\1\164\2\150\3\172\1\154\1\172\2\145\1\143\1\144\1\167"+
        "\3\145\1\172\3\uffff\2\172\1\164\1\145\1\172\1\163\1\162\2\144\3"+
        "\uffff\2\172\1\uffff\1\164\1\163\2\172\2\uffff\1\171\1\164\1\154"+
        "\1\171\1\145\1\154\1\172\1\145\1\uffff\1\172\1\uffff";
    static final String DFA10_acceptS =
        "\1\uffff\1\1\11\uffff\1\15\1\16\1\17\1\20\1\21\1\uffff\1\24\14\uffff"+
        "\1\22\1\23\35\uffff\1\3\1\14\1\4\11\uffff\1\2\1\5\1\6\2\uffff\1"+
        "\13\4\uffff\1\10\1\7\10\uffff\1\11\1\uffff\1\12";
    static final String DFA10_specialS =
        "\20\uffff\1\0\117\uffff}>";
    static final String[] DFA10_transitionS = {
            "\1\1\3\uffff\1\1\22\uffff\1\1\1\uffff\1\20\14\uffff\1\21\12"+
            "\13\1\17\6\uffff\32\14\4\uffff\1\14\1\uffff\1\10\1\11\1\14\1"+
            "\12\1\4\1\14\1\2\4\14\1\5\1\14\1\3\4\14\1\7\1\6\6\14\1\15\1"+
            "\uffff\1\16",
            "",
            "\1\22",
            "\1\23",
            "\1\24",
            "\1\25\7\uffff\1\26",
            "\1\30\7\uffff\1\27",
            "\1\31",
            "\1\32",
            "\1\33",
            "\1\35\15\uffff\1\34",
            "",
            "",
            "",
            "",
            "",
            "\0\37",
            "",
            "\1\40",
            "\1\41\11\uffff\1\42",
            "\1\43",
            "\1\44",
            "\1\45",
            "\1\46",
            "\1\47",
            "\1\51\10\uffff\1\50",
            "\1\52",
            "\1\53",
            "\1\54",
            "\1\55",
            "",
            "",
            "\1\56",
            "\1\57",
            "\1\60",
            "\1\61",
            "\1\62",
            "\1\63",
            "\1\64",
            "\1\65",
            "\1\66",
            "\1\67",
            "\1\70",
            "\1\71",
            "\1\72",
            "\1\73",
            "\1\74",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\1\100",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\1\101",
            "\1\102",
            "\1\103",
            "\1\104",
            "\1\105",
            "\1\106",
            "\1\107",
            "\1\110",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "",
            "",
            "",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\1\114",
            "\1\115",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\1\117",
            "\1\120",
            "\1\121",
            "\1\122",
            "",
            "",
            "",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "",
            "\1\125",
            "\1\126",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "",
            "",
            "\1\127",
            "\1\130",
            "\1\131",
            "\1\132",
            "\1\133",
            "\1\134",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            "\1\136",
            "",
            "\12\14\7\uffff\32\14\4\uffff\1\14\1\uffff\32\14",
            ""
    };

    static final short[] DFA10_eot = DFA.unpackEncodedString(DFA10_eotS);
    static final short[] DFA10_eof = DFA.unpackEncodedString(DFA10_eofS);
    static final char[] DFA10_min = DFA.unpackEncodedStringToUnsignedChars(DFA10_minS);
    static final char[] DFA10_max = DFA.unpackEncodedStringToUnsignedChars(DFA10_maxS);
    static final short[] DFA10_accept = DFA.unpackEncodedString(DFA10_acceptS);
    static final short[] DFA10_special = DFA.unpackEncodedString(DFA10_specialS);
    static final short[][] DFA10_transition;

    static {
        int numStates = DFA10_transitionS.length;
        DFA10_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA10_transition[i] = DFA.unpackEncodedString(DFA10_transitionS[i]);
        }
    }

    class DFA10 extends DFA {

        public DFA10(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 10;
            this.eot = DFA10_eot;
            this.eof = DFA10_eof;
            this.min = DFA10_min;
            this.max = DFA10_max;
            this.accept = DFA10_accept;
            this.special = DFA10_special;
            this.transition = DFA10_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( BLANCO | GRAPH | NODE | EDGE | LABEL | TITLE | SOURCE | TARGET | ARROWSTYLE | BORDERSTYLE | BORDER | ARROW | NUMERO | IDENT | LLAVE_A | LLAVE_C | DOS_PUNTOS | COMILLAS | CADENA | COMENTARIO );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA10_16 = input.LA(1);

                        s = -1;
                        if ( ((LA10_16 >= '\u0000' && LA10_16 <= '\uFFFF')) ) {s = 31;}

                        else s = 30;

                        if ( s>=0 ) return s;
                        break;
            }
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 10, _s, input);
            error(nvae);
            throw nvae;
        }

    }
 

}